home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 019 / lot103.arc / LOT103.TXT
Text File  |  1985-01-01  |  16KB  |  423 lines

  1.     1-2-3 NOTES 
  2.     All Versions 
  3.     September 20, 1984 
  4.     Lotus Development Corporation 
  5.  
  6.     The @IF Function 
  7.  
  8.     NOTE 103 
  9.  
  10.  
  11.     Introduction 
  12.  
  13.     The @IF function is one of 1-2-3's logical functions.  You use it
  14.     to determine if a formula comparing two values is true or false.
  15.     For example, @IF can compare the values in two cells; indicate if
  16.     a formula produces a specified value; or determine if the value in
  17.     a cell is greater than, less than, equal to, or not equal to
  18.     another value.  When you enter an @IF function in a worksheet
  19.     cell, 1-2-3 evaluates the formula and then displays a value in
  20.     that cell, indicating if the formula is true or false. 
  21.  
  22.     Here is a simple example of an @IF function: 
  23.  
  24.            @IF(A1>B1,1,0) 
  25.  
  26.     The formula compares the values in cells A1 and B1.  If the value
  27.     in cell A1 is greater than the value in cell B1, the formula is
  28.     true and 1 will appear in the cell where you entered the @IF
  29.     function.  If the formula is false, that is, the value in cell A1
  30.     is not greater than the value in cell B1, 0 will appear in the
  31.     cell. 
  32.  
  33.  
  34.     Format 
  35.  
  36.     The @IF function consists of the function name and three
  37.     arguments: the condition being tested, the value if true, and the
  38.     value if false.  The arguments must be separated by commas with no
  39.     intervening spaces, and all three must be enclosed in parentheses. 
  40.  
  41.     The following illustrates the four parts of the @IF function: 
  42.  
  43.  
  44.                         @IF(A10=50,1,0) 
  45.  
  46.     1.@IF  2.Condition being tested  3.Value if true  4.Value if false
  47.  
  48.  
  49.     1.  @IF is the function name. 
  50.  
  51.  
  52.     2.  The condition being tested is a formula comparing two values
  53.         that is either true or false.  In this example, A10=50 is a
  54.         true condition if the value in cell A10 equals 50. 
  55.  
  56.  
  57.     3.  The value if true is the value displayed in the cell
  58.         containing the @IF function when the condition being tested is
  59.         true.  In this example, 1 is displayed if the value in A10
  60.         equals 50. 
  61.  
  62.  
  63.     4.  The value if false is the value displayed in the cell
  64.         containing the @IF function when the condition being tested is
  65.         false.  In this example, 0 is displayed if the value in A10
  66.         does not equal 50. 
  67.  
  68.     There are six ways to express the relationship between two values: 
  69.  
  70.          =      equal to 
  71.          <>     not equal to 
  72.          >      greater than 
  73.          <      less than 
  74.          >=     greater than or equal to 
  75.          <=     less than or equal to 
  76.  
  77.     These are called logical operators. 
  78.  
  79.     You can enter values for the condition-being-tested,
  80.     value-if-true, and value-if-false arguments in four formats: 
  81.  
  82.     *  actual numbers 
  83.     *  cell addresses containing values 
  84.     *  range names that refer to single cells containing values 
  85.     *  valid formulas or functions that produce values 
  86.  
  87.     Although the values 1 and 0 are frequently used as the
  88.     value-if-true and value-if-false arguments,any values will do.
  89.     When evaluating many values on a large worksheet, you should use
  90.     values that stand out when you look at the worksheet (for example,
  91.     999 or -1). 
  92.  
  93.     Note:  You cannot use text or labels in an @IF function.  A label
  94.            always has a value of 0. 
  95.  
  96.  
  97.     Examples 
  98.  
  99.     The following examples show how values, cell references, and range
  100.     names are used as the arguments in an @IF function.  They also
  101.     show how the result of an @IF function changes when the values in
  102.     the condition-being-tested argument are changed. 
  103.  
  104.  
  105.  
  106.     Example 1 
  107.  
  108.     @IF(A1>=500,1,0) means that if the value in cell A1 is greater
  109.     than or equal to 500, the condition being tested is true and 1
  110.     will be displayed.  If the value in cell A1 is not greater than or
  111.     equal to 500, the condition being tested is false and 0 will be
  112.     displayed. 
  113.  
  114.            Move:  to A1 
  115.            Type:  500 [RETURN] 
  116.            Move:  to C1 
  117.            Type:  @IF(A1>=500,1,0) [RETURN] 
  118.  
  119.     Cell C1, where you wrote the @IF function, should contain 1
  120.     because the condition being tested (A1>=500) is true. 
  121.  
  122.     Now change the value in cell A1 to 100.  Since the condition being
  123.     tested is now false, cell C1 should contain a 0. 
  124.  
  125.  
  126.     Example 2 
  127.  
  128.     @IF(B3>A3,B3,0) means that if the value in cell B3 is greater than
  129.     the value in cell A3, the condition being tested is true and
  130.     the value in cell B3 will be displayed.  If the value in cell B3
  131.     is not greater than the value in cell A3, the condition being
  132.     tested is false and 0 will be displayed. 
  133.  
  134.            Move:  to A3 
  135.            Type:  100 [RETURN] 
  136.            Move:  to B3 
  137.            Type:  400 [RETURN] 
  138.            Move:  to C3 
  139.            Type:  @IF(B3>A3,B3,0) [RETURN] 
  140.  
  141.     Since the condition being tested is true, you will see 400 (the
  142.     value in cell B3) displayed in cell C3. 
  143.  
  144.     Now change the value in cell A3 to 900. Since the condition being
  145.     tested (B3>A3) is now false, 0 will replace 400 in cell C3. 
  146.  
  147.  
  148.     Example 3 
  149.  
  150.     @IF(A5<=100,A5,999) means that if the value in cell A5 is less
  151.     than or equal to 100, the condition being tested is true and the
  152.     value in cell A5 will be displayed.  If the value in cell A5 is
  153.     not less than or equal to 100, the condition being tested is false
  154.     and 999 will be displayed. 
  155.  
  156.            Move:  to A5 
  157.            Type:  75 [RETURN] 
  158.            Move:  to C5 
  159.            Type:  @IF(A5<=100,A5,999) [RETURN] 
  160.  
  161.     Since the condition being tested (A5<=100) is true, you will see
  162.     75 in cell C5. 
  163.  
  164.     Now change the value in cell A5 to 200.  Since the condition being
  165.     tested is now false, 999 will replace 75 in cell C5. 
  166.  
  167.  
  168.     Example 4 
  169.  
  170.     This example uses range names to refer to cells containing values. 
  171.  
  172.     Note:  Type range names in capital letters when you use them in
  173.            formulas to avoid confusing them with macro commands. 
  174.  
  175.     @IF(REVENUE>EXPENSES,1,-1) means that if the value in the cell
  176.     named REVENUE is greater than the value in the cell named
  177.     EXPENSES, 1 will be displayed.  If not, -1 will be displayed. 
  178.  
  179.            Move:  to A7 
  180.            Type:  400 [RETURN] 
  181.            Move:  to B7 
  182.            Type:  100 [RETURN] 
  183.  
  184.     Using the /Range Name Create command, name cell A7 REVENUE and
  185.     cell B7 EXPENSES. 
  186.  
  187.            Move:  to A7 
  188.            Select:/rnc 
  189.            Type:  REVENUE [RETURN] (two times) 
  190.            Move:  to B7 
  191.            Select:/rnc 
  192.            Type:  EXPENSES [RETURN] (two times) 
  193.  
  194.     Now type the @IF function. 
  195.  
  196.            Move:  to C7 
  197.            Type:  @IF(REVENUE>EXPENSES,1,-1) [RETURN] 
  198.  
  199.     Since the value in cell A7, REVENUE, is greater than the value in
  200.     cell B7, EXPENSES, the condition being tested is true and 1 will
  201.     be displayed in cell C7. 
  202.  
  203.     Now change the EXPENSES value to 500.  Since the condition being
  204.     tested is now false, -1 will be displayed in cell C7.  
  205.  
  206.  
  207.     Example 5 
  208.  
  209.     Assume you are the manager of a sales department and you want to
  210.     give a 5 percent commission to every salesperson who recorded
  211.     sales over $100.  Start with an empty worksheet and enter the
  212.     following data, beginning in cell A1: 
  213.  
  214.                     A          B         C
  215.            1   NAME        CURR. SALE   5% COMM.
  216.            2   Jim              3000
  217.            3   Mike              500
  218.            4   Susan            2000
  219.            5   Kate               84
  220.  
  221.     This example involves two new elements: using a formula as one of
  222.     the @IF arguments and copying the @IF function into other cells in
  223.     the column so that it can evaluate several entries.  First, write
  224.     an @IF function that specifies that the commission will be 0 for
  225.     sales of $100 or less and 5 percent for any amount over $100.  The
  226.     function should look like this: 
  227.  
  228.            @IF(B2<=100,0,(B2-100)*0.05) 
  229.  
  230.     Enter this function in cell C2 and copy it into cells C3, C4, and
  231.     C5.  When you copy the function down the column, all the cell
  232.     references are relative.  This means the function uses the
  233.     appropriate values for each row. 
  234.  
  235.     This @IF function means that if the current sales are $100 or
  236.     less, 0 (no commission) will be displayed.  If the current sales
  237.     are over $100, the value for 5 percent of the current sales over
  238.     $100 will be displayed.  In this example, Jim, Mike, and Susan
  239.     should get a 5 percent commission.  The worksheet should look like
  240.     this: 
  241.  
  242.                     A          B         C 
  243.            1   NAME        CURR. SALE   5% COMM. 
  244.            2   Jim              3000      145 
  245.            3   Mike              500       20 
  246.            4   Susan            2000       95 
  247.            5   Kate               84        0 
  248.  
  249.  
  250.     Example 6 
  251.  
  252.     You can also use one @IF function nested inside another.  In this
  253.     example, you will use a nested @IF function to change the
  254.     commission structure set up in Example 5. 
  255.  
  256.     Assume that in addition to the 5 percent commission for sales
  257.     over $100, you want to give your salespeople an extra 5 percent
  258.     commission for sales over $500.  To do this, you nest an @IF
  259.     function in the value-if-false argument of the original formula. 
  260.  
  261.     Put the label for column D in cell D1. 
  262.  
  263.            Move:  to D1 
  264.            Type:  5% COMM + 5% 
  265.  
  266.     Enter the following formula in cell D2 and copy it into cells D3,
  267.     D4, and D5: 
  268.  
  269.     @IF(B2<=100,0,@IF(B2<=500,(B2-100)*0.05,(B2-100)*0.05+(B2-500)*0.05))
  270.  
  271.      1.   2.    3. 4a.  4b.       4c.                4d.
  272.  
  273.  
  274.     1.  @IF is the function name. 
  275.  
  276.     2.  B2<=100 is the condition being tested. 
  277.  
  278.     3.  0 is the value if true. 
  279.  
  280.     4.  This nested @IF function is the value if false: 
  281.  
  282.         a. @IF is the function name. 
  283.  
  284.         b. B2<=500 is the condition being tested. 
  285.  
  286.         c. (B2-100)*0.05 is the value if the nested condition is
  287.            true.  If sales are less than or equal to $500 (B2<=500),
  288.            the commission will be 5 percent of sales over $100. 
  289.  
  290.         d. (B2-100)*0.05+(B2-500)*0.05) is the value if the nested
  291.            condition is false.  If sales are over $500, the commission
  292.            will be 5 percent of sales over $100 plus 5 percent of
  293.            sales over $500. 
  294.  
  295.     In this example, Jim and Susan should get an extra 5 percent
  296.     commission for their sales over $500.  The worksheet should look
  297.     like this: 
  298.  
  299.                     A          B         C               D 
  300.            1   NAME        CURR. SALE   5% COMM.   5% COMM + 5% 
  301.            2   Jim              3000      145             270
  302.            3   Mike              500       20              20 
  303.            4   Susan            2000       95             170 
  304.            5   Kate               84        0               0 
  305.  
  306.  
  307.     Compound Conditions 
  308.  
  309.     You can use compound conditions in @IF functions to evaluate two
  310.     or more conditions at the same time.  Use the following logical
  311.     operators to build compound conditions: 
  312.  
  313.            #AND#   Both conditions must be true for the result to be
  314.                    true. 
  315.  
  316.            #OR#    If either condition is true, the result is true. 
  317.  
  318.            #NOT#   This logical operator uses only one condition.  If
  319.                    the condition is true, the result will be false.
  320.                    If the condition is false, the result will be true. 
  321.  
  322.  
  323.     Examples Using Compound Conditions 
  324.  
  325.     Assume you own a small business and want to evaluate different
  326.     accounts to identify those that have an outstanding balance and
  327.     are overdue.  Start with an empty worksheet and enter the
  328.     following information, beginning in cell A1: 
  329.  
  330.                     A          B          C         D      E      F 
  331.            1    ACCOUNT   BALANCE     DAYS OVERD  #AND#   #OR#  #NOT# 
  332.            2    Thomas           $300        30 
  333.            3    Johnson          $400        80 
  334.            4    Carter           $600        90 
  335.            5    Bitler           $700        20 
  336.            6    James            $300        50 
  337.  
  338.  
  339.     Example 7: #AND# 
  340.  
  341.     You want to identify records in which the balance is greater than
  342.     $500 and the payment is more than 60 days overdue. Use
  343.     #AND# in an @IF function to test for both of these conditions.
  344.     Enter the function in column D. 
  345.  
  346.            Move:  to D2 
  347.            Type:  @IF(B2>500#AND#C2>60,999,0) [RETURN] 
  348.  
  349.     Now copy the function into cells D3, D4, D5, and D6. 
  350.  
  351.     This @IF function means that if the value in column B (BALANCE) is
  352.     greater than $500 and the value in column C (DAYS OVERD) is
  353.     greater than 60, the number 999 will be displayed in column D.
  354.     Otherwise, 0 will be displayed. 
  355.  
  356.  
  357.     Example 8: #OR# 
  358.  
  359.     You can use the same information to select all of the records in
  360.     which the balance is greater than $500 or the payment is more than
  361.     60 days overdue.  Enter the function in column E. 
  362.  
  363.            Move:   to E2 
  364.            Type:   @IF(B2>500#OR#C2>60,-1,0) [RETURN] 
  365.  
  366.     Now copy the function into cells E3, E4, E5, and E6. 
  367.  
  368.     This @IF function means that if either condition is true, -1 will
  369.     be displayed in column E.  If both conditions are false, 0 will be
  370.     displayed. 
  371.  
  372.  
  373.     Example 9: #NOT# 
  374.  
  375.     #NOT# tests for only one condition. You can use it to identify
  376.     those records in which the balance is not less than or equal to 30
  377.     days overdue. Enter the function in column F. 
  378.  
  379.            Move:   to F2 
  380.            Type:   @IF(#NOT#C2<=30,1,0) [RETURN] 
  381.  
  382.     Now copy the function into cells F3, F4, F5, and F6. 
  383.  
  384.     This @IF function means that if this condition is true, that is,
  385.     if the value in column C is not less than or equal to 30, 1 will
  386.     be displayed.  If the condition is false, 0 will be displayed. 
  387.  
  388.  
  389.     Now that you have completed examples 7, 8, and 9, your worksheet
  390.     should look like this: 
  391.  
  392.                    A           B          C         D     E      F 
  393.            1    ACCOUNT   BALANCE     DAYS OVERD  #AND#  #OR#  #NOT# 
  394.            2    Thomas           $300        30        0     0      0 
  395.            3    Johnson          $400        80        0    -1      1 
  396.            4    Carter           $600        90      999    -1      1 
  397.            5    Bitler           $700        20        0    -1      0 
  398.            6    James            $300        50        0     0      1 
  399.  
  400.  
  401.     Combining Compound Conditions 
  402.  
  403.     Example 10 
  404.  
  405.     You can combine compound conditions in one @IF function.  For this
  406.     example, continue using the worksheet from Example 9.  You now
  407.     want to identify the accounts that are both over $500 and 30 days
  408.     overdue or that are more than 60 days overdue.  Enter the function
  409.     in column G. 
  410.  
  411.            Move:   to G2 
  412.            Type: @IF((B2>500#AND#C2>30)#OR#(B2<500#AND#C2>60),1,0)
  413.                        [RETURN] 
  414.  
  415.     Now copy the function into cells G3, G4, G5, and G6. 
  416.  
  417.     If either of the conditions is true, 1 will be displayed in column
  418.     G. If neither condition is true, 0 will be displayed.  Your
  419.     worksheet should have 1 in cells G3 and G4 since both the Johnson
  420.     and Carter accounts meet one of the conditions.  The Carter
  421.     account is more than $500 and more than 30 days overdue, and the
  422.     Johnson account is less than $500 and more than 60 days overdue. 
  423.